package org.example.springbook.controller;

import org.example.springbook.contants.Contants;
import org.example.springbook.model.UserInfo;
import org.example.springbook.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

@RestController
@RequestMapping("/user")
public class UserController {
    //登录没有问题
    @Autowired
    private UserService userService;
    @RequestMapping("/login")
    public Boolean login(String username, String password, HttpSession session) {
        //在服务层和mapper层中只是查了用户名
        //在登录的时候，先根据用户名查询出一个用户对象，再比较密码。
        //进行参数检验
        if(!StringUtils.hasLength(username) || !StringUtils.hasLength(password)) {
            return false;
        }
        //程序来到这里说明参数不为空，进行调用数据库的用户
        UserInfo userInfo=userService.queryUserByName(username);
        if(userInfo==null) {
            return false;
        }
        //程序来到这里说明查询成功
        if(userInfo!=null && userInfo.getPassword().equals(password)) {
            userInfo.setPassword("");
            session.setAttribute(Contants.USER_SESSION_KEY,userInfo);
            return true;
        }
       return false;
    }
}
